home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Assassins - Ultimate CD Games Collection 3
/
Assassins 3 - The Ultimate Games CD (1997)(Weird Science)[!][Amiga-CD32-CDTV].iso
/
arcade
/
rocko
/
rocko.amos
/
rocko.amosSourceCode
< prev
next >
Wrap
AMOS Source Code
|
1980-01-31
|
5KB
|
139 lines
Global ROCKYLIFE,DRAGOLIFE,ROCKYPUNCH,KEYS
Curs Off : X=15 : ROCKYLIFE=10 : DRAGOLIFE=10 : Hide
PICS
If Ntsc=-1 Then For N=0 To 6 : Screen Display N,128,32,320,200 : Next N
Screen Open 7,320,40,4096,Lowres : Flash Off : Curs Off : Cls 0
Screen Display 7,128,233,320,40
If Ntsc=0 Then Screen Display 7,128,233+18,320,40
FARBEN
Locate 7,2 : Paper 0 : Print "Rocko" : Locate 27,2 : Print "Druggo"
Ink 0 : Bar 25,5 To 135,10 : Bar 185,5 To 295,10
Procedure FARBEN
Screen 7
RemFor N=16 To 64 : Ink N : Draw N,0 To N,40 : Next N
For N=16 To 64 : Ink 80-N : Draw N-16,0 To N-16,40 : Next N
For N=16 To 64 : Ink 80-N : Draw N+32,0 To N+32,40 : Next N
For N=16 To 64 : Ink 80-N : Draw N+80,0 To N+80,40 : Next N
For N=16 To 64 : Ink 80-N : Draw N+128,0 To N+128,40 : Next N
For N=16 To 64 : Ink 80-N : Draw N+176,0 To N+176,40 : Next N
For N=16 To 64 : Ink 80-N : Draw N+224,0 To N+224,40 : Next N
For N=16 To 64 : Ink 80-N : Draw N+272,0 To N+272,40 : Next N
End Proc
Gosub ROUNDCHANGE
If KEYS<>-1 Then Goto 20
10 Do
Gosub KEYARROWS
If ROCKYPUNCH=-1 Then ROCKYPUNCH Else DRAGOPUNCH
If ROCKYLIFE<1 Then Gosub ROUNDCHANGE
If DRAGOLIFE<1 Then Gosub ROUNDCHANGE
Loop
20 Do
Gosub ARROWS
If ROCKYPUNCH=-1 Then ROCKYPUNCH Else DRAGOPUNCH
If ROCKYLIFE<1 Then Gosub ROUNDCHANGE
If DRAGOLIFE<1 Then Gosub ROUNDCHANGE
Loop
ROUNDCHANGE:
Sprite Off : Wait Vbl
If ROCKYLIFE<1
YNTRO=-1
ROUND=0 : Load Iff "Rocko16.ham",0
If Ntsc=-1
Screen Display 0,128,32,320,200 : Wait 150
End If
Do
Exit If Fire(1)=-1
K$=Inkey$ : S=Scancode
If S=76
Exit
End If
Loop
End If
Load Iff "rocko11.ham",0
If Ntsc=-1 Then Screen Display 0,128,32,320,200
ROUND=ROUND+1
Screen To Front 0 : Screen 0
Wind Open 1,108,150,12,6,2 : Paper 0 : Clw : Pen 30 : Curs Off
If ROUND=1 and YNTRO=0
Print : Print " Rocko!" : Wait 100 : Print : Print " Written" : Print "using AMOS"; : Wait 100
Print " <Fire>" : Print " or" : Print "<up arrow>"; : CHOOSE
End If
Print : Print " Round"; : Print ROUND; : Print "!" : Print : Wait 100
ROCKYLIFE=(ROUND*5)+10
Screen 7
Ink 0 : Bar 25,5 To 135,10 : Bar 185,5 To 295,10
For N=0 To(ROUND*5)+10 : Ink 1 : Draw 25+N*2,5 To 25+N*2,10 : Next N
DRAGOLIFE=(ROUND*5)+10
For N=0 To(ROUND*5)+10 : Ink 1 : Draw 185+N*2,5 To 185+N*2,10 : Next N
If ROUND=1 Then ROUNDTIME=1200
If ROUND=2 Then ROUNDTIME=900
If ROUND=3 Then ROUNDTIME=700
If ROUND=4 Then ROUNDTIME=600
If ROUND=5 Then ROUNDTIME=550
If ROUND=6 Then ROUNDTIME=500
RemIf ROUND>6 Then ROUNDTIME=ROUNDTIME-30
If ROUND>6 Then ROUNDTIME=500-((ROUND-6)*30)
If ROUND=10 Then Load Iff "rocko07.ham",0 : If Ntsc=-1 Then Screen Display 0,128,32,320,200 : Wait 9500 : End
If KEYS=-1 Then ROUNDTIME=ROUNDTIME+450
Wait 200
Sam Play 1
Screen To Front 3 : Wait Vbl
Load Iff "rocko08.ham",0 : Screen To Front 3 : If Ntsc=-1 Then Screen Display 0,128,32,320,200
Sprite 2,265,195-18,5 : Wait Vbl
Return
ARROWS:
ARROW=Rnd(3)+1
Sprite 2,265,195-18,ARROW : Wait Vbl
For TIME=1 To ROUNDTIME
If ARROW=1 and Joy(1)=1 Then ROCKYPUNCH=-1
If ARROW=2 and Joy(1)=2 Then ROCKYPUNCH=-1
If ARROW=3 and Joy(1)=4 Then ROCKYPUNCH=-1
If ARROW=4 and Joy(1)=8 Then ROCKYPUNCH=-1
Next TIME
Sprite 2,265,195-18,5
Return
KEYARROWS:
ARROW=Rnd(3)+1
Sprite 2,265,195-18,ARROW : Wait Vbl
For TIME=1 To ROUNDTIME
K$=Inkey$ : S=Scancode
If ARROW=1 and S=76 Then ROCKYPUNCH=-1
If ARROW=2 and S=77 Then ROCKYPUNCH=-1
If ARROW=3 and S=79 Then ROCKYPUNCH=-1
If ARROW=4 and S=78 Then ROCKYPUNCH=-1
Next TIME
Sprite 2,265,195-18,5
Return
Procedure ROCKYPUNCH
For ROCKYFRAME=4 To 6 : Screen To Front ROCKYFRAME : Wait 4 : Next ROCKYFRAME
Shoot
For ROCKYFRAME=5 To 3 Step -1 : Screen To Front ROCKYFRAME : Wait 4 : Next ROCKYFRAME
ROCKYPUNCH=0
DRAGOLIFE=DRAGOLIFE-2 : ROCKYLIFE=ROCKYLIFE+1
Screen 7 : Ink 1 : Draw 25+ROCKYLIFE*2,5 To 25+ROCKYLIFE*2,10
Ink 0 : Draw 189+DRAGOLIFE*2,5 To 189+DRAGOLIFE*2,10 : Draw 187+DRAGOLIFE*2,5 To 187+DRAGOLIFE*2,10
End Proc
Procedure DRAGOPUNCH
For DRAGOFRAME=0 To 1 : Screen To Front DRAGOFRAME : Wait 5 : Next DRAGOFRAME
Shoot
For DRAGOFRAME=2 To 0 Step -1 : Screen To Front DRAGOFRAME : Wait 5 : Next DRAGOFRAME
ROCKYLIFE=ROCKYLIFE-2 : DRAGOLIFE=DRAGOLIFE+1
Screen 7 : Ink 1 : Draw 185+DRAGOLIFE*2,5 To 185+DRAGOLIFE*2,10
Ink 0 : Draw 29+ROCKYLIFE*2,5 To 29+ROCKYLIFE*2,10 : Draw 27+ROCKYLIFE*2,5 To 27+ROCKYLIFE*2,10
End Proc
Procedure PICS
Load Iff "Rocko08.ham",0 : Wait Vbl
Load Iff "Rocko09.ham",1 : Wait Vbl
Load Iff "Rocko10.ham",2 : Wait Vbl
Load Iff "rocko12.ham",3 : Wait Vbl
Load Iff "rocko13.ham",4 : Wait Vbl
Load Iff "rocko14.ham",5 : Wait Vbl
Load Iff "rocko15.ham",6 : Wait Vbl
End Proc
Procedure CHOOSE
Do
K$=Inkey$ : S=Scancode
Exit If Fire(1)=-1
If S=76 Then KEYS=-1 : Exit
Loop
End Proc